<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>2020年6月4日</title>
</head>
<style>
    .tip {
        font-size: 12px;
        color: gray;
    }

    #showAnswerBtn {
        display: inline-block;
        background-color: darkgreen;
        color: #fff;
        padding: 10px;
        border-radius: 5px;
    }

    #answer {
        display: none;
    }
</style>

<body>
    【多选】Java创建对象的说法正确的有（）
    <br>
    A. 用new语句创建对象，是最常见的创建对象的方法。
    <br>
    B. 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。
    <br>
    C. 调用对象的clone()方法。
    <br>
    D. 运用反序列化手段，调用java.io.ObjectInputStream对象的 readObject()方法。
    <div>
        <span id="showAnswerBtn">点击查看正确答案</span>
    </div>
    <div id="answer">
        <p>答案：ABCD</p>
        Java有5种方式来创建对象：
        <br>
        使用 new 关键字（最常用）： ObjectName obj = new ObjectName();
        <br>
        使用反射的Class类的newInstance()方法： ObjectName obj = ObjectName.class.newInstance();
        <br>
        使用反射的Constructor类的newInstance()方法： ObjectName obj = ObjectName.class.getConstructor.newInstance();
        <br>
        使用对象克隆clone()方法： ObjectName obj = obj.clone();
        <br>
        使用反序列化（ObjectInputStream）的readObject()方法： try (ObjectInputStream ois = new ObjectInputStream(new
        FileInputStream(FILE_NAME))) { ObjectName obj = ois.readObject(); }
    </div>
    <p class="tip">
        来源：<a
            href="https://www.nowcoder.com/questionTerminal/4e2daf82caa5430ea63da24feeacf7d5">https://www.nowcoder.com/questionTerminal/4e2daf82caa5430ea63da24feeacf7d5</a>
    </p>
    <script>
        document.getElementById("showAnswerBtn").onclick = function () {
            document.getElementById("answer").style.display = "block";
            document.getElementById("showAnswerBtn").style.display = "none";
        }
    </script>
</body>

</html>